perm filename XM4.FAI[CMS,LCS] blob
sn#252771 filedate 1976-12-11 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00014 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE X
C00003 00003 BEG: SETOM LINE
C00006 00004 PLOT: HRR C,IB↓+VD~∃ε`@``p@@```j%∨∨¬βHt∪'Q5~A∨=¬
→∞4∃ε``@bd@`@``l∪5-→
(h∪≠∨-5&@`~)ε```Dp@``@`n∪π=%+ ~)ε```Hd@``@`p∪
Iλt∪≠=-'∩A∧XO ≠⊂N~∃ε@``dh````d∪∂)9β~t∪5∨-∩↓αX~∃```dT@```D`∪1∪9∩t∪'-∪!≤A≥≡~∃ε@``dp```bD∪
∪≥⊃_t∪⊃I%4Aα1∃∨¬%∃_~∃ε@``fd```bH∪≥β≠≥(t∪
→%¬
$~∃ε`@`fh@@``bf%∪≥¬∪Q&t∪!U'⊃∀A@Y≥β≠≥(~∃```fX@```Dh∪
∪1≥β~t$`~∃ε@``fn↓≥ ≠,~∃ε,l~∀→)∪)1
A0~)β>b~)¬>d~)π>f~) >h~)>j~)→>l~)+>n~)1>bb4∃3>bH~∃1 |bf~∃Q>bj~)))>bX~∃!>Dn~∃→A →?>Xr~∃ M↔?>b4∃1∂!⎇>d~∃1≠β%?|z`~∃I≠β%?|zblrd~∃/∪⊃)⊃?>tbn``4∃→¬+→→?>zPp~∃→M)¬∪)⎇>b,fP~∃∨-∃%→β!⎇>zj`4∃ ∨
→?>Zz\l`~∃9¬+
'⎇>h~∃∃1)%8A∃∨¬I_Y∃=¬
Y)∨¬)!Y∃∨¬¬!$Y∃=¬π≥∩4∃≠β∪1¬t∪ →∨π⊗h`~∃M∪∂≤t$`~∃→%≥
t∩@~∃!≥Q$t∩`4∀→¬∞h∪')=~A→∪9
~∀∪≥)→∪8A→∪≥∀∩∩w
=$A%I∨$A!I∪≥)∨U(~∀∪
β→→∩4∀∪⊃%I5&A→%≥
∩∩mπ→βHA→∪≥∀A¬∪)L~∀∪⊃I%5∩A∧Yπ∨%U ~∀∪!%%5~↓αY∃∨ β!$~(∪')=~A''LF~∀∪!%%4A∧Y∃∨¬→~∀∪
∨%
A∧X~∀∪)%'(@PX\~∀4∀w
→U'⊃λ↓¬2A%∃∞@@b4fZnl4∀v∪≠=-
Aα17∪!εhd```@@.@at~∀v∪%≥)≥λAαX~(v~∀w¬ λ↓¬2A%∃∞t~∀%≠∨-$∪αXd@```∩$w%∞A≠!,4∀∪β!I≥∧∪∧X∩∩wI∞@A∃≥β¬→∀A∨→λ↓/β2B4∀~∀∪5∨-
A@Y6[→A _XYA _Zct~∀∪∨U)')$↓7β'π%4@←∨1λ}@←t~∀∪'∃)5~A≥≡F~∀%∪≥π⊃]_A
~(∪πβ∪∀A
Xb@n∩∩w%@O∞≤A'↔∪@Aβ→_↓!%∨≠A)&~∀%∃%'(↓!β'&4∀∪'Q∨~A∂<∩∩w
=$A'↔%!∪≥∞↓β→_AA%∨≠!Q&~∀∪%≥π⊃/0A
~∀%∪≥π⊃]_A
∩$vA∂PA)⊃
↓π%→4∃∨+)M)$A7¬'π∪4=+'∪≥≤A
¬+→(AYβ→+L\~∀←t~∀∪!U'⊃∀A@Y
%λ4∀∪∃%M(A!βM&d~∃Aβ'&t%πβ∪
↓
XbfD~∀∪π¬∪≤A
0bnb~(∪∃%'PA∪≥¬%)&~∀%π→%¬→∩~∃
%→∪≤t%∨+)'Q$A7βMπ∪4@=
∪→
|@Q →β+→(↓∪&A!1(] ≠⊂R@←:4∀∪!+M⊃∀A 1
%λ~(∪')hAαX~)3β∂≤Dt∪'Q5~A%=
→∞F4∃∨+)M)$A7¬'π∪4=%∨)βQ
}←:4∀∪∪≥
⊃/_A∀~∀∪π¬∪
A
0bfb~(∪πβ∪8A
Xb\b~∀∪M)∨~↓%∨
→≤~∀∪π1%¬
∩4∃∨+)M)$A7¬'π∪4=∨%∪∂%≤A0A=
'PA
%∨4A%∪∂!(@Q ∃
β+→PA∪&@PQπ≥Q$RR|←:~∀%!+'⊃(A Y%9+~~∃Aβ'&dh∪⊃%%∃∩A∧X4l`~∀%∃%'(↓6∪⊃%I∩Aα0Zznl@@~∀∩%∃%'(↓3
t~∀∪∪5+→∩A∧Xzb`@~∀∪π¬∪≤Aε0D\D∩$w π%≠β_AA∨∪≥(|~∀∪∃I'(A6%∪≥π⊃]_Aε~(∩∪πβ%≤AεXDj~∀∩%∪≥π⊃]_Aε~(∩∪πβ%_AεXλ`D~∀$∪πβ∪1
AεXλrD~∀$∪∃%'P@\Vb4∀∩∪'U¬∩Aε0l`~∀$∪∪≠+1∩AεXtb`~∀$∪'↔∪A
A'∪≥≤~∀∩%≠∨-≤↓εYε~(∩∪β ⊂AαYε4∀∩∪!U'⊂A 1α~∀∩%!+'⊃(A Y%9+~~∀$∪∃
π0~∀∩∪A∨ A 1α~∀∩%∃%'(\Vc:4∀∪≠∨Y≤AαY∧~∀∪→M⊂AαXD∩∩∩v(d@Q≠¬↔
A∪PA')A&R~∃e
h∪πβ∪∀AεXbH~∀∪∃I'(A6%π→%¬→∩~∀∩%∃%'(↓3β∂≤E:~∃3⊃t∪¬ λAα1∧~∀∪5∨-≥~↓αY∪≥%0F~∃¬∂β∪≤h∪≠∨-∀AαY7→∪→≥β4XY→↔∃≥):~(∪¬→(↓αY→↔∃≥(Vf4∀∪∨!∃≤A ',Y6bh\O '⊗@@N/%¬+
:4∀∪∃%M(@hX8~∀∪∪9¬+A⊃'⊗Y≥ +
&~(∪→∨∨-+ A M⊗Y→↔∃≥(~∀%∃%'(↓
≥~)β'↔→∃≤t∪'∃)5~AA∨∨¬0~∀∪'∃)5~AA∨∨¬2~∀∪!U'⊃∀A@Y1∪≥$~∀v∪)%'(A
∨%→+h~∀∪'∃)5~Aa0F~∀%')54A32F4∀∪≠∨Y∩Aε0f~∀∪!%%5~↓εY!9≤F~∃=+)$h∪∪≤A⊃'⊗X~(∪∃%'PA!→∨P~∀∪'Qβ)≡A⊃'⊗Xd@```~(∪∃%'P@hX\4∀∪%1β&A⊃'⊗X~)∪
≤A1')¬∪PZbXyA+'⊃∀↓ Y1
%0|~∀%∃%'(↓!π+(4∀→!→∨Pt∪⊃%HAεY∪ +Vb4∀∪≠∨Y≤A
XDQεR~(∪≠∨-M∩A
X!
R~∀%⊃%$A∀Y∪¬+_Vb~∀%'↔∪!0A%∨
1∞~∀∪)%'(AA→∨(b4∀∪≠∨Y
AαY∀~∃%∨Qαt∪≠=-
@bPXdQα$~∀∪→M⊃ε@bPXZb`4∀∪⊃→14AεXDj~∀∪1'⊃ε@DhXZbX~∀∪⊃1→4Aλ0bj~∀%→'⊃εbhXZDl~∀∪∃1π⊂@DjYλ~(∪→'⊃@bhXDl~∀∪¬'⊂Aλ0Zdl~(∪≠∨-8@bjY⊂~∀∪→M⊂@bj0dl~∀%→'⊃εbhXbX~∀∪⊃1→4@bTYε~∀%→'⊃εbhXb@~∀∪≠=-~@DhXdQ∧R~∀∪¬∨¬∃≤↓αY%∨Qα~∃!1∨(bt%≠∨-
bhXd!
R~∀%→'⊃εbhXZD`~∀∪¬'⊂@bTXZfh4∀∪≠∨Y~@bTY'-!∃≤F~∀%≠∨-~↓αXbj4∀∪→'!ε@bh0Zbl~(∪β'⊂bjXZHl~∀∪5∨-~bjY'Y2F~∀%'+∧@DjY324∀∪≠∨Y~@bTY'-3M∧F~∀%∪≠+→$@bjY1¬+
_,b~∀∪¬ λ@bTY2~∀%≠∨-4@bjYM-3∨λ~∀∪π¬∪∂
@DjXQ_$~∀∪∃I'(A→='
~∀%πβ∪_bjX[1¬+
_4bQ*R4∀∪∃%M(A→∨M
~∀∪1'⊃ε@DhXZbX~∀∪βM⊂@bj0Zdl~(∪≠∨-∃~@bj1'-0F4∀∪'+λ@bjYa0~∀∪5∨-
@@Xbj~(∪⊃%%h@blY`~∀∪∪5+→∩@DlXhh4∀∪∃
→≡A∧X8Vb~∀%β λ@DlYε~(∪'+∧blXbT~∀∪∃U≠!_@DlY→∨M0~∀%πβ∪→∀@blXtbndn4∀∪∃%M(A→∨M0~∀%'↔∪!∀A∨∨¬→→∞F~(∪∃%'PA∨∨¬¬$~∃
%1+ t%πβ∪
↓αXb~(∪⊃%%4AαY!∃≥≤~∀%⊃%$A∧Y!≥8~∀∪π¬∪≤Aα0f~∀∪)%'(AA≥+ 4∀∪≠∨Y
AεYM-3'∧4∀∪∪∨I~A∧Y↓0~∀∪)+≠!
↓≥∨%≠`~∀∪∃U≠!_A5-→
(4∀∪∃+5!
Aε1≥%(~(∪∃+≠A_AεY5- /≤4∀∪πβ5→
Aε0`~∀∪)%'(Aaπ⊃α~(∪')h@bhX4∀∪)→9
AεXH````@~∀∪∃I'(@\,h~∀∪1'⊂Aε0b~∀∪Q%≡Aε0b~∀∪¬∨∃α@DhX\ZP~∀∪'U¬∩@bPXzfh4∀∪∪ %,AεX@~∀∪≠=-≥&@Dh~∀∪1'⊂Aε0PbhR4∀∪'Q4@bj0~∃∪≥1∨∨ t%β λ@DjYε~(∪)→5∀@bjXH````@~∀∪β⊃ ∩A21→¬+
0Vb~∀%'↔∪!≥
A∧~(∪'∨∀↓0X~∀%%∨(AλXb~∀%∪∨%~↓∧Y↓04∀∪'∨)∞A∪≥1∨∨ ~(∪∃%'PA ∨≥a(~∀~(→∨∨¬¬$t∪'∃)5~A=∨¬
→≤~∀∪β='∞A'M&~∀∪)%'(A→∪1+ 4∃!≥U t∪⊃I$A2YM-3∨λ4∀∪∃+5!
@bTY≥1)d~∀∪∃U≠!_@DjY!+1
(~∀%πβ∪∂∀@bjXPh~∀∪)%'(Aa→∨∨ 4∀∪∪ %-∩@bTXhh~(∪'+∧↓0Xbj4∀∪⊃%H@bjXDl~∃11∨∨ t%'∨∃_bjY =≥1(~(∪'↔∪A∂
A∧4∀∪'∨(A0X~(∪%∨(↓∧Xb~(∪∃%'PA1→∨= ~∀~)!+→
Pt∪≠∨Y≠&@bT~∀∪π¬∪∂
@DjXhh4∀∪∃%M(A∨∨<~∀∪∪⊃∪-∩@DjXhh4∀∪β ⊂A0XbT~∀∪⊃I$@bj0bl~∃=∨≡t∪M∨∃_@DjY ∨91(~∀%%∨(AλXZb~(∪∃+≠A∂
A∧1∨∨≡~(∪β∨∀↓0X~∀%∃%'(↓∨∨≡~(~∃1π!αt∪'∃)4@bPX~∀∪Q→≥
@@Xd``@``~∀%∃%'(\Vh~(∪→'⊂`Xb~(∪)%≡`Xb~(∪β∨∃∧@bhX8Zh~∀%'+¬∩bhXzLh~∀∪% ∪,@@Yε~∀%≠∨-≥L@bh~(∪→'⊂`XPbPR~∀∪M)4@DjX~∃%≥→∨≡h∪β λbjX`4∀∪)→i≤@bj0d```@`~∀∪)%'(A5-+ ~(∪'↔∪A∂
A∧4∀∪'∨(A0X~(∪%∨(↓∧Xb~)≠-+ h∪β $A2Y→ +
_VD~∀∪∪=%~A∧1↓0~∀%'∨∃∞↓εY∪≥1∨≡~∀%∃%'(↓ ∨≥1P~∀~∃5- /≤h∪≠∨-5&Aε~ CAMLE C,0
JRST XCHA2
SETZ 14,
TLNE C,200000
JRST .+4
LSH C,1
TRO C,1
AOJA 14,.-4
SUBI 14,=34
IDIV C,0
MOVNS 14
LSH C,(14)
SETZ 15,
INLOP: ADD 15,C
TLZE 15,200000
SUBI Y,LBUFL+1
SKIPGE B
SOJ X,
ROT B,1
IORM B,@X
SOJG INLOP
JRST DONXT
XCHA2: SETZ 14,
TLNE 0,200000
JRST .+4
LSH 0,1
TRO 0,1
AOJA 14,.-4
SUBI 14,=34
IDIV 0,C
MOVNS 14
LSH 0,(14)
SETZ 15,
INOOP: ADD 15,0
TLZN 15,200000
JRST MVEX
SKIPGE B
SOJ X,
ROT B,1
MVEX: SUBI Y,LBUFL+1
IORM B,@X
SOJG C,INOOP
JRST DONXT
NRT: JUMPL B,GOOP
TOOT: ROT B,1
IORM B,@X
SOJG 0,NRT
JRST DONXT
GOOP: SOJ X,
CAIGE 0,44
JRST TOOT
IDIVI 0,44
SETOM @X
SOJ X,
SOJG 0,.-2
HRR 0,1
JUMPN 0,TOOT
AOJ X,
JRST DONXT
NLFT: MOVMS 0
ROT B,-1
JUMPL BY%∨=(~∃/=∨ t∪%∨%~AλY↓0~(∪'∨∃≤@`X\4f~∀∪)%'(A⊃∨≥1(4∃%∨∨Pt∪β∨(A0X~(∪πβ∪≥
@`XPh~∀∪)%'(A]∨∨ ~(∪∪ ∪Y∩@`XPh~∀∪M)∨~↓↓0~∀%β∨∀A`X~∀∪M∨∃∞@@X\Zd4∀∪⊃%H@`Xb4∀∪∃+5!≤@`1/∨∨ 4∀∪'∨(A0X~(∪%∨(↓∧Xb~(∪∃%'PA ∨≥a(~∃≥=%≠0t%∃+≠!∀AεY≥=≠∨-
4∀∪∃+5!_Aε1≠ ∨/8~∃≠+@t∪β ⊃∩A2Y1¬+
_,b~∀∪%∨%~AλY↓0~(∪'∨∃≤AεY≠U ~∀∪)%'(A⊃∨≥1(4∃≠ ∨]≤t∪'U¬∩A21→¬+
0Vb~∀%∪∨%~↓∧Y↓04∀∪β∨)_AεY5 ∨/≤4∃ ∨≥a(t∪≠=-
@h1'-0~(∪≠∨-∃~@hYa0~∃≥a)2t∪5∨-
@PY'-24∀∪≠∨Y~@h132~∃9∨≠∨-∀t∪'↔%!_A'Y!≤~(∪∃%'PA≥∨U(~∀∪M)5~↓10~∀%')54A32~)≥∨+Pt∪β∨ ∃≤A
1!→∨(D~∀∪∃I'(A∨U)$~(~∀→≠-→→(t∪≠=-≠&@@~∀∪≠=-≠&@Dj~∀∪)+≠!
↓εY≥→→(~∀∪!%$A21'-3∨⊂~∀∪∪⊃∪-∩@DjXhh4∀∪β ⊂A0XbT~∃19λt∪'=∃_@bXY +≤4∀∪%∨PA∧XZD~∀∪∃U≠!∂
↓∧Y19λ~∀∪¬∨∀A00~∀∪∃I'(A1∃≥λ~∃⊃+≤t∪5∨-~↓0Y104∀∪≠∨Y~A∧132~∀%∪∨%~↓∧Y↓04∀∪∃+5!_Aε1≠-→λ4∀∪πβ5→
Aε0`~∀∪)%'(Aaπ⊃αf4∀∪'Q4@bh0~∀∪)1≥
Aε0d```@`~∀∪)%'(@8Vh~∀%→'⊂AXb~∀%)%≡AXb~∀%β∨∃αbhX\4h~∀∪M+¬∩@DhXzfP~∀∪∪⊃∪,Aε0`~∀∪5∨-≥&bh~∀%→'⊂AXPbh$~∀∪'∃)4@bTX~∃∪1∨∨ t%β λ@DjYε~(∪)→5∀@bjXH````@~∀∪'U¬∩A21→¬+
0Vb~∀%'↔∪!≥
A∧~(∪'∨∀↓0X~∀%%∨(AλXb~∀%∪∨%~↓∧Y↓04∀∪'∨)∞A∪→=∨ ~∀%∃%'(↓¬
∨$4∀~∃1
⊃αft%')4bhX~(∪)→≥∀@`Xd@````4∀∪∃%M(@\VP~∀∪→M⊂@`XD~∀∪)I≡@`XD~∀∪β=∃α@bPX\Zh4∀∪'+ ∩@bh0zfh~(∪∪ ∪X@`Yε4∀∪≠∨Y≥&@bP~∀∪→M⊂@`X bhR~(∪')h@bjX4∃∪→∨@t∪β ⊂@bjX@~∀∪)15≤@bTXd``@``~∀%∃%'(↓ ∨"~(∪'↔∪A∂
A∧4∀∪'∨(A0X~(∪%∨(↓∧Xb~) ∨"t%'+¬∩↓2Y→¬U
_Vb4∀∪∪∨I~A∧Y↓0~∀∪M∨∃∞AY∪→∨@~∀∪∃I'(A¬→∨$~∀4∃≠-→⊂t∪≠∨Y≠&Aε4∀∪πβ5→
Aε0`~∀∪)%'(Aaπ⊃αh4∀∪'Q4@bh0~∀∪)1≥
Aε0d```@`~∀∪)%'(@8Vh~∀%→'⊂AXb~∀%)%≡AXb~∀%β∨∃αbhX\4h~∀∪M+¬∩@DhXzfP~∀∪∪⊃∪,Aε0`~∀∪5∨-≥&bh~∀%→'⊂AXPbh$~∀∪'∃)4@bTX~∃→=∨ t∪¬ λ@bTYε~∀%)→5
bjXd@````4∀∪β ⊃∩A2Y1¬+
_,b~∀∪M↔∪!∂∀A∧~∀%'∨∀A`X~∀∪I∨(A∧0b~∀∪%∨%~AλY↓0~(∪'∨∃≤A→∨∨@~∀∪∃I'(A¬→∨$~∀4∃1π⊃∧ht∪'∃)4@bPX~∀∪Q→≥
@@Xd``@``~∀%∃%'(\Vh~(∪→'⊂`Xb~(∪)%≡`Xb~(∪β∨∃∧@bhX8Zh~∀%'+¬∩bhXzLh~∀∪% ∪,@@Yε~∀%≠∨-≥L@bh~(∪→'⊂`XPbPR~∀∪M)4@DjX~∃1∨ t∪¬ λ@bTX`~∀%)→5≤bjXd@````4∀∪∃%M(A ∨@~∀∪'-∪!∂
↓∧~∀∪M∨∀A00~∀∪%=(A∧XD~∃ ∨@t∪β ⊃∩A2Y1¬+
_,b~∀∪%∨%~AλY↓0~(∪'∨∃≤AεY→= ~∃¬→∨$t∪!%$A21'-3∨⊂~∀∪≠=-
A0110~∀%≠∨-
↓∧Y324∀∪∃%M(A ∨91(~∀_wπ∨I+ ~∀4∃π∨%U t~∀4∃%!∃β(@`0x∪∨→⊂A/β2ZA
→U'⊃λ↓¬2A%∃∞@bZLZnl~(~∀∪⊃I%4A∧1∃∨¬π9∩~∀∪
β∪
AλXd``@`~∀∪⊃∪'≠∪L~∀∪≠=-
Aα1∃∨¬)Aε~∀∪5∨-~↓αY∪!Vb~∀%+/β∪P~∀∪ ∃¬%β,~∀|w∃≥λA%∃!β(`~∀~)¬+'(h∪≠∨-∃~∩bYM-∨≥
~∀@∪5∨-~$dY'-Q/≡F~(∪≠∨-∃~∪)(1'-))PF~∀∪5∨-
∩DY∃∨¬
≥∩∩wI∞@A≥(AβA$Aπ∨9∩A¬∪Q&~∀∪Q%≥≤∩DXd``@`∩∩wI∞@A%&A)⊃∃%
Aβ8A≠!,|~∀∪∃I'(∪≥=≠!,∩$w%∞A≥≡~(∪⊃%%h∩bY∃=¬%_$w∨→λ↓π∨%
↓'∪5
4∀∪≠∨Y'∩∩d0bPbR$∩w
∪I'(A≥∃.A/∨IλA/
≥→_A∂∃(~∀∪!%%∩∩HXdPb$∩∩w'∃π∨≥λ↓≥.A]∨%λ@Z@dA!β&Aα↓¬→(AA∨∪≥)∃$\~∀%β ∩$bXb`@``∩∩m∂(A¬≥∨)⊃∃$@i⊗4∀∪≠∨Y
∪)(0b~∀∪
∨%
∩DX~∀∪A+'⊃∀% Yπ∨I→+4~(∪⊃%%h∩bY∃=¬%_4∀∪'Q5~∩ZDPdR~(@∪¬→P∩dXPDR~∀∪5∨-
∩DY'-∨9
~∀@%≠∨-
$dY'-Q/≡~∀%≠∨-
%)(Y'Y))(~(~∃%Aβ(@@Xx~∀%∪≥)∃∃≤A∪!~∀|~(~∀∪∃ST 2,@JOBTPC ;REG THIS IS HOW TO DISMISS OLD INTERRUPT
NOMPPh∪∨+)M)$⊂ε\
N∞&RzV:⊗Eα⊗∞R,!α&:$*JJV¬!|4)⎇h4(&U∩NP%∩bα*>∃"B4Ph(4*4r→h ~
U≤D$
αd$ZH4DXQ!∃¬-9 "¬α↓⊗⊃**C"B*
4r∩D
⊃4J*∪Uβ!!04pi≠Hs yru4∧λP23λXC"Eq"B4i94⊃q$λ⊃5β!!0p3 I(,AQB2TJ:λ⊃R)I3C"AQPstIJ6NB)YuQ(
E∃∃β!!3∀r∧
,&!"B4
Zrλ∀¬Jβ"B*
4r∩D
⊃⊃*Hr∩c!!4∃4i H∀λ4TC!!4∪t∧
α*εB∧h*iR%⊂(⊗⊃"agjUεE∧h∃id%⊂∀⊗"i)∀'*εEα`iadV⊂↔P%H'c⊂!Si"P'⊃bb"bλFE↔FB∧iedT#bP"⊃j
CALLI 12
JRST ASKLEN
LOSEX: SETOM OOBFLG
SKIPE POOBX
JRST PENUP
SETOM POOBX
PUSHJ P,DETCHK
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ /POINT OUT OF BOUNDS, /
JUMPL 16,[PUSHJ P,ERRPNT
ASCIZ/-X/
JRST PENUP]
PUSHJ P,ERRPNT
ASCIZ/+X/
JRST PENUP
LOSE: SETOM OOBFLG
SKIPE POOBY
JRST LOBAC
SETOM POOBY
PUSHJ P,DETCHK
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ /POINT OUT OF BOUNDS, /
CAIGE 15,(L)
JRST [ PUSHJ P,ERRPNT
ASCIZ/-Y/
JRST LOBAC]
PUSHJ P,ERRPNT
ASCIZ/+Y/
LOBAC: LSHC 14,-16
ASH 15,-26
MOVEM 15,SVX
SUB 15,XX
JRST PENUP
DECOUT: IDIVI T,=10
HRLM TT,(P)
SKIPE T
PUSHJ P,DECOUT
HLRZ TT,(P)
ADDI TT,60
ROT TT,-7
MOVEM TT,.+2
PUSHJ P,ERRPNT
0
POPJ P,
ERRPNT: HRRZ TT,(P)
MOVEM TT,PNTR
MOVEI TT,LINE
TTYMES TT,
JRST [ OUTSTR[ASCIZ/TTYMES FAILED /]
OUTSTR @PNTR
OUTSTR[ASCIZ/
/]
JRST .+1]
POP P,TT
HRL TT,(TT)
TLNE TT,376
AOJA TT,.-2
JRST 1(TT)
XERR: PUSHJ P,ERRPNT
ASCIZ/
MESSAGE FROM X WORKING ON /
MOVE TT,FILNAM
PUSHJ P,SIXOUT
PUSHJ P,ERRPNT
ASCIZ/./
HLLZ TT,FILEXT
PUSHJ P,SIXOUT
PUSHJ P,ERRPNT
ASCIZ/[/
MOVE TT,FILPPN
PUSHJ P,SIXOUT
PUSHJ P,ERRPNT
ASCIZ/] : /
POPJ P,
SIXOUT: JUMPE TT,CPOPJ
SETZ T,
LSHC T,6
ADDI T,40
PUSH P,TT
ROT T,-7
MOVEM T,.+2
PUSHJ P,ERRPNT
0
POP P,TT
JRST SIXOUT
DETCHK: SETOM DET#
GETLIN DET
HRRES DET
SKIPL DET
AOS (P)
POPJ P,
FRD: MOVSI A,'DMD'
MOVEM A,FILEXT
SKIPN GO
JRST .+3 ;GO?
MOVEI C,12 ; CR
JRST .+3
PUSHJ P,GETNAM
SKIPN A
MOVE A,['PLT ']
MOVEM A,FILNAM
CAIE C,"."
JRST NOEXT
PUSHJ P,GETNAM
MOVEM A,FILEXT
NOEXT: CAIE C,"["
JRST FRDX
PUSHJ P,GETP
HRLZM A,FILPPN
PUSHJ P,GETP
HRRM A,FILPPN
FRDX: SKIPN GO
INCHRW C
CAIE C,12
JRST FRDX
POPJ P,
RNUM: INCHWL C
CAIN C,15
JRST RNUM
CAIN C,12
POPJ P,
AOS (P)
MOVEI A,
SETZM SIGN
CAIN C,"-"
JRST [ PUSHJ P,RNUML
SETOM SIGN
MOVN A,A
POPJ P,]
CAIN C,"+"
RNUML: INCHWL C
CAIL C,"0"
CAILE C,"9"
JRST RNUMX
IMULI A,12
ADDI A,-"0"(C)
JRST RNUML
RNUMX: CAIN C,15
INCHRW C
POPJ P,
GETNAM: MOVEI A,
MOVE B,[440600,,A]
GETNML: PUSHJ P,RCH
POPJ P,
SUBI C,40
TLNE B,770000
IDPB C,B
JRST GETNML
GETP: MOVEI A,
GETPL: PUSHJ P,RCH
POPJ P,
TRNE A,770000
JRST GETPL
LSH A,6
ADDI A,-40(C)
JRST GETPL
RCH: INCHWL C
CAIN C,42
JRST RCHQ
CAIE C,11
CAIN C," "
JRST RCH
CAIE C,"."
CAIN C,","
POPJ P,
CAIE C,"["
CAIN C,"]"
POPJ P,
RCHQR: CAIGE C,40
POPJ P,
CAIL C,"a"
CAILE C,"z"
CAIA
SUBI C,40
JRST POPJ1
RCHQ: INCHWL C
JRST RCHQR
XINI: SKIPN GO
OUTSTR [ASCIZ /TOTAL LENGTH IN INCHES (Y DIMENSION, DEFAULT = 11)?/]
SETZM DEFA#
SKIPE GO
JRST PASSD
PUSHJ P,RNUM
SETOM DEFA ;ASSUME 11 INCHES
JUMPLE A,[XINLER:CLRBFI
JRST XINI]
SKIPGE DEFA
PASSD: HRRZI A,=11
CAIE C,12
JRST XINLER
IMULI A,=200
PUSH P,A
YINI1: SKIPE GO
JRST PASS3
SKIPL ROFLG
OUTSTR [ASCIZ \ORIGIN Y OFFSET FROM BOTTOM, 200/IN.(DEFAULT IS 100)?\]
SKIPGE ROFLG
OUTSTR [ASCIZ \ORIGIN Y OFFSET FROM BOTTOM, 200/IN.(DEFAULT IS 1000)?\]
PUSHJ P,RNUM
PASS3: JRST [ MOVEI A,=100
SKIPGE ROFLG
MOVEI A,=1000
JRST IYDEF]
CAIE C,12
JRST [ CLRBFI
JRST YINI1]
IYDEF: IMULI A,LBUFL+1
MOVEM A,IYPOS#
POP P,A
XDEF: MOVEM A,LINCNT#
MOVEI B,-1(A)
IMULI A,LBUFL+1
MOVE T,JOBFF
MOVEM T,XGPPTR
SOS XGPPTR
MOVEI T,2(A)
MOVNI TT,(T)
ADD T,XGPPTR
HRLM TT,XGPPTR
MOVE TT,T
HRRZ L,XGPPTR
MOVSI T,1(L)
HRRI T,2(L)
SETZM 1(L)
MOVE U,JOBREL
BLT T,(U)
HRRZI U,(TT)
MOVEM B,SVBBB#
MOVE Y,IYPOS
ADDI Y,2(L)
MOVEI XD,DBUF+1
SKIPL A,INIX ;WHERE DO WE START
JRST MAYBON
SUBI A,43
IDIV A,[-44]
HRLOI X,XD
SOJA A,SETB
MAYBON: ADDI A,43
IDIVI A,44
CAILE A,LBUFL
JRST OFFRT
MOVE X,A
SETZ A,
HRLI X,Y
JRST SETB
OFFRT: MOVE X,[XD,,LBUFL]
SUBI A,LBUFL
SETB: MOVE B,INIX
IDIVI B,44
MOVSI B,400000
MOVN C,C
ROT B,(C)
POPJ P,
POPJ1: AOS (P)
CPOPJ: POPJ P,
FINDL: HRRZ A,JOBREL
CAIL A,-LBUFL-1(U)
JRST XINL-1
XL2: MOVEM TT,(T)
ADDI T,LBUFL+1
CAIGE T,(A)
JRST XL2
SUBI A,(L)
MOVNS A
HRLM A,XGPPTR
SUBI T,LBUFL+1
JRST XXOUT
PCUT: HRRZ L,XGPPTR
MOVE TT,[BYTE (12)4001,LMAR,LBUFL]
MOVEM TT,1(L) ;FIRST ONE HAS MARK AND CUT WITH IT
TLZ TT,400000 ;DELETE MARK AND CUT
MOVEI T,1+LBUFL+1(L)
SKIPGE DEFA
JRST FINDL
MOVE B,SVBBB
XINL: MOVEM TT,(T)
ADDI T,LBUFL+1
SOJG B,XINL
HLRO TT,XGPPTR
MOVNS TT
ADDI TT,(L)
MOVE A,(TT)
XXOUT: MOVSI TT,400100
MOVEM TT,(T) ;SO DOES LAST
XGPOUT: OPEN XGP,XNIT
JRST NOXGP
OUTSTR[ASCIZ/CRANKING XGP
/]
LOCK
OUTIT: GP,XGPPTR
JRST OUTOK
DSKERR: PUSHJ P,DETCHK
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ /XGP OUTPUT ERROR.
/
OUTOK: UNLOCK
RELEAS XGP,
XMORE: PUSHJ P,DETCHK
;; JRST DODEL ;DELETE AUTOMATICALLY IF DETACHED
JFCL
OUTSTR[ASCIZ/D=DELETE, R=REPEAT, X=EXIT /]
INCHRW C
CAIE C,15
JRST .+3
INCHRW C
JRST XMORE+2 ; WON'T ACCEPT JUST CRLF
OUTSTR[ASCIZ/
/]
CAIE C,"X"
CAIN C,"x"
SKIPA
JRST .+3
PUSHJ P,CORDWN ;REALLY DONE, CORE DOWN
JRST NODEL
CAIE C,"R"
CAIN C,"r"
JRST XGPOUT
CAIE C,"D"
CAIN C,"d"
SKIPA ;IF NOT R, X OR D TRY AGAIN.
JRST XMORE+2
PUSHJ P,CORDWN ;REALLY DONE, CORE DOWN
DODEL: MOVE A,[FILNAM,,LKENT]
BLT A,LKENT+3
INIT DSK,17
'DSK '
0
JRST [ SKIPGE DET
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ/COULDN'T GET DISK FOR DELETE!
/
JRST NODEL]
LOOKUP DSK,LKENT
JRST [ SKIPGE DET
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ/LOOKUP FOR DELETE FAILED!
/
JRST NODEL]
MOVE A,FILPPN
MOVEM A,LKENT+3
SETZM LKENT
RENAME DSK,LKENT
CAIA
JRST NODEL
SKIPGE DET
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ/RENAME FOR DELETE FAILED!
/
NODEL: RELEASE DSK,
SKIPGE DET
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ/ALL DONE!
/
CALLI 12 ;LEAVE
NOXGP: PUSHJ P,DETCHK
PUSHJ P,XERR
PUSHJ P,ERRPNT
ASCIZ /
XGP BUSY, OUTPUT TO DISK? /
INCHRW A
CAIE A,"Y"
CAIN A,"y"
JRST OUTFIL
HRRZI A,1017
HRRZM A,XNIT
JRST XGPOUT
XNIT: 417
'XGP '
0
XGPPTR: BLOCK 2
IFN LSTBIT-1,<
XFIX: MOVE A,[LSTBIT-1]
HRRZ C,JOBREL
HRRZ D,XGPPTR
XFIXL: ANDCAM A,LBUFL-1+2(D)
ADDI D,LBUFL+1
CAIGE D,(C)
JRST XFIXL
POPJ P,
>
CORDWN: MOVE T,JOBFF
SUBI T,1
CALLI T,11
JRST 4,.
POPJ P,
NAMGET: CLRBFI
OUTSTR [ASCIZ/
FILE = /]
SETZ↓~A
%→1(,b~∀∪M)5~↓
∪→!A≤~∀∪5∨-'∩↓αXO¬%(N~∀%≠∨-4AαY
%→1(4∀∪!+M⊃∀A 1∂)≥¬~~∀∪M↔∪!≤↓α~∀@%≠∨-
↓αY6OA→(@@O:~∀@@@∪5∨-~↓αY
∪1≥β~~(∪πβ∪∀AεXD8D~∀∪)%'(A9∨1)8~∀∪!U'⊃∀A@Y∂)9β~~∀%≠∨-4AαY
%→1(4∃≥∨a)≤t∪
β∪
AXE6D4∀∪∃%M(A
⊃0~∀∪A+'⊃∀↓ Y∂Q ~∀∪!%→5~↓αY
∪1!!≤~(∪!+'!∀A Y≥) ~(∪⊃%%4AαY
%→!!≤4∃
`t∪∪≥
⊃%.A~∀∪π¬∪
Aε0bd~∀%∃%'(↓
04∀∪!∨A∀A X4∀~∀→∪≥¬%)&t∪A+'⊃∀↓ Y≥β5∂(~(∪⊃%%hA*Y∃=¬
~(∪⊃%%i∩A(XDnnQ*$~∀∪π=%
A(0~∀∪∃I'(A∪9¬∪)&4∀∪'∨(A*X~(∪⊃%→$A*XZH``~∀%∨!≤↓6bn.≥ '⊗@@N.at~∀∪∃I'(A∪9¬∪)&4∀∪→∨=↔+ A→∪→≥β4~∀∪∃I'(A∪9¬∪)&4∀∪'Q4@b`0~∀∪∪9!+(AT~∀∪≠=-
A(17¬3)∀@Pbd$h``b1→≠β$1→¬+
1:~∀∪∃1π⊂APXbQ*$~∀∪⊃1_A*YP~∀∪≠=-~ATY1∂!A)$~∀%⊃%→∩↓*XQ($~∀∪)1≥≤A*0nnnn\n~∀∪)%'(A
→∨5
4∀∪β ⊃∩A*XH``~∀%≠∨-≥$A(XQPR~∀∪¬ ∩APXQ*R4∀∪π∨I
A(X4∀∪∃%M(A∪≥ ∪)&~(∪∪≥!U(A*~)π→∨5∀t∪%1β&~(∪∃%'PA1∂!=+(~∀4∃∨+)→∪_t∪A+'⊃∀↓ Y≥β5∂(~(∪≠∨-∀A*Y1≥!!)$4∀∪⊃→I≡A(YT~∀∪≠=-≥&AP~∀∪)I4A(XDnn~∀%⊃%%5$AαXd@`Q(R4∀∪β ⊃∩AαX!*R~∀%π∨%
↓αX~∀%∃%'(↓∨+)
%_~∀∪5∨-≥&↓(~∀∪!→_A(1*~∀∪5∨-~↓(XbQTR~∀∪!%→∩ATXZd`@Q(R~(∪')h@b`X4∀∪∨!∃≤A6b\.O ',@@@N\a:~∀%∃%'(hX\~(∪≥)∃$A
∪1≥β~~(∪πβ∪∧~∀∪∨U)!+(↓*~∀∪I→βL~∀∪∃I'(A≥= _~(~∀→
∪→9β~t∩@~∃
∪11(t$`~∀∩@~∃
∪1!!≤t$`~∀~)→↔≥Pt∪¬→=π⊗@h4∀~∃1≥'≥β~h∩`~∃a∂'1Pt∩`~(∩`~∃a∂'!!8t∩`~(~∃∪¬Ut∪¬1∨π⊗@L~∀~∃ ∪))βλt∪
∨HA∪>hLX`XZEvb-∩4∃|~∃ 3))βλt∪
∨HA∪>fXX`XZYw%!∃β(@l1vnn-%⎇|~∀4∃ ¬+_t∪¬→=π⊗A→ +
_VH~∀~∃A _t∪ →∨π⊗↓→! _4∀~∃9λA¬≤~∀